public class test3 {
    class Solution {
        public boolean isSubsequence(String s, String t) {
            char[] ch1 = s.toCharArray();
            char[] ch2 = t.toCharArray();
            int[][] dp  = new int[ch1.length+1][ch2.length+1];
            //初始化
        /*
        for(int i = 0;i<ch1.length+1;i++){
            dp[0][i] = 1;
        }
        */

            for(int i = 1;i<ch1.length+1;i++){
                for(int j = 1;j<ch2.length+1;j++){
                    if(ch1[i-1]==ch2[j-1]){
                        dp[i][j] = dp[i-1][j-1]+1;

                    }else{
                        //此时相当于t要删除元素，t如果把当前元素t[j - 1]删除
                        //那么dp[i][j] 的数值就是 看s[i - 1]与 t[j - 2]的比较结果了
                        dp[i][j] = dp[i][j-1];
                    }
                }
            }
            return ch1.length==dp[ch1.length][ch2.length];
        }
    }
}
